﻿using Pay.DTO;
using Pay.TO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Pay.IService
{
    public interface IActivityService
    {
        /// <summary>
        /// 获得活动列表
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        PagedResult<activity_dto> GetActivitys(ActivityQuery query);

        /// <summary>
        /// 获得活动
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        activity_dto GetActivity(long id);
        activity_dto GetActivity(EActivityType type);
        /// <summary>
        /// 根据指定类型 获得进行中的活动
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        activity_dto GetAvailableActivity(EActivityType type);
       void UpdateActivity(EActivityType type);
        /// <summary>
        /// 新增活动
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ResultMessage<int> AddActivity(activity_dto dto, long curManagerId);

        /// <summary>
        /// 更新活动
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        ResultMessage<int> UpdateActivity(activity_dto dto);

        /// <summary>
        /// 修改活动状态
        /// </summary>
        /// <param name="id"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        int UpdateActivityStatus(long id, int status);

        /// <summary>
        /// 更新限时购云商城首页显示状态
        /// </summary>
        /// <param name="id"></param>
        /// <param name="isShow"></param>
        /// <returns></returns>
        bool UpdateIndexShow(long id, int isShow);
        /// <summary>
        /// 获得云商城首页限时购活动列表
        /// </summary>
        /// <returns></returns>
        List<activity_dto> GetIndexTimeBuy();


    }
}
